package org.haifi.game.model;

import java.util.Date;

import org.apache.mina.core.session.IoSession;

public class Player extends Role {
	/**
	 * ID
	 */
	private int id;
	/**
	 * 帐号id
	 */
	private int userId;
	/**
	 * 角色名
	 * 
	 * 长度:2~8
	 */
	private String name;
	/**
	 * 创建日期
	 */
	private Date createDate;
	/**
	 * 最近一次登陆日期
	 */
	private Date loginDate;
	/**
	 * 前一次登陆日期(和loginDate不在同一天时才记录)
	 */
	private Date loginDateByDay;

	/**
	 * 所在的地图id.
	 * 
	 * 如果是世界地图,与配置id相同
	 * 
	 * 如果是副本地图,与配置id相同
	 */
	private int mapConfigId;
	/**
	 * 所在的地图实例id
	 * 
	 * 如果是世界地图,与配置id相同
	 * 
	 * 如果是副本地图,与副本实例id相同
	 */
	private int mapId;

	// --------------------------------------
	// 以下是运行中游戏数据，非持久化
	// 父类中的x,y特殊，是需要进行持久化
	// 父类中的id特殊,进需要进行持久化

	/**
	 * 当前的mina session
	 */
	private IoSession ioSession;

	@Override
	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getUserId() {
		return userId;
	}

	public void setUserId(int userId) {
		this.userId = userId;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Date getCreateDate() {
		return createDate;
	}

	public void setCreateDate(Date createDate) {
		this.createDate = createDate;
	}

	public Date getLoginDate() {
		return loginDate;
	}

	public void setLoginDate(Date loginDate) {
		this.loginDate = loginDate;
	}

	public Date getLoginDateByDay() {
		return loginDateByDay;
	}

	public void setLoginDateByDay(Date loginDateByDay) {
		this.loginDateByDay = loginDateByDay;
	}

	public int getMapConfigId() {
		return mapConfigId;
	}

	public void setMapConfigId(int mapConfigId) {
		this.mapConfigId = mapConfigId;
	}

	public int getMapId() {
		return mapId;
	}

	public void setMapId(int mapId) {
		this.mapId = mapId;
	}

	public IoSession getIoSession() {
		return ioSession;
	}

	public void setIoSession(IoSession ioSession) {
		this.ioSession = ioSession;
	}

}
